package com.passwd.designcore.utils;

import java.io.*;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Random;

public class FileUtils {

    /**
     * 读文件，接收一个InputStream文件读取流
     * 返回读取文件的行数据，每一行是数组的一个元素
     * @param inputStream
     * @throws Exception
     */
    public static ArrayList<String> readFile(InputStream inputStream) {
        try {
            InputStreamReader reader = new InputStreamReader(inputStream); // 建立一个输入流对象reader
            BufferedReader br = new BufferedReader(reader); // 建立一个对象，它把文件内容转成计算机能读懂的语言
            ArrayList<String> arrayList=new ArrayList<String>();
            String line = "";
            while (line != null) {
                line = br.readLine(); // 一次读入一行数据
                arrayList.add(line);
            }

            return arrayList;//返回读取文件的行数据，每一行是数组的一个元素, 这一步返回 代表执行成功
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;// 如果程序正常运行 ，不会运行至此，如果执行至此，代表上述代码出错
    }


    /**
     * 写文件
     * @param content
     * @throws Exception
     */
    public static String writeFile(String content,String fileName)  {
        try {
            String path=System.getProperty("user.dir");
            /* 写入Txt文件 */
            File writename = new File(path+"/"+fileName); // 相对路径，如果没有则要建立一个新的output。txt文件
            writename.createNewFile(); // 创建新文件
            BufferedWriter out = new BufferedWriter(new FileWriter(writename));
            out.write(content); // 写入文件
            out.flush(); // 把缓存区内容压入文件
            out.close(); // 最后记得关闭文件

            return "success"; //这一步返回 代表执行成功
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "error"; // 如果程序正常运行 ，不会运行至此，如果执行至此，代表上述代码出错
    }
}
